/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       lighthouse.h

	$Header: /game/lighthouse.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( LIGHTHOUSE_H_INCLUDED )
#define LIGHTHOUSE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "owned_scriptable_adv_object.h"

// ---------------------------------------------------------------
// lighthouse adventure object
// ---------------------------------------------------------------

class t_lighthouse : public t_owned_scriptable_adv_object
{
public:
	t_lighthouse(  std::string const& model_name );

	virtual void	activate_trigger( t_army* army, t_adv_map_point const& point, 
									  t_direction direction, t_adventure_frame* frame );
	virtual float	ai_value( t_adventure_ai const& ai, t_creature_array const& army, 
							  int move_cost ) const;	
	virtual void	set_owner( int player_number );
	virtual void	place( t_adventure_map& map, t_adv_map_point const& point );
	virtual bool	read_from_map( std::streambuf& buffer, t_progress_handler* );
};

inline t_lighthouse::t_lighthouse( std::string const& model_name )
	:	t_owned_scriptable_adv_object( model_name )
{
}


typedef t_counted_ptr< t_lighthouse >	t_lighthouse_ptr;
typedef std::list<t_lighthouse_ptr>		t_lighthouse_list;


#endif // !defined( LIGHTHOUSE_H_INCLUDED )
